#include <QCoreApplication>

#include <QDebug>
#include <QSemaphore>

#include "filestorethread.h"
#include "generatedatathread.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // Set up code that uses the Qt event loop here.
    // Call a.quit() or a.exit() to quit the application.
    // A not very useful example would be including
    // #include <QTimer>
    // near the top of the file and calling
    // QTimer::singleShot(5000, &a, &QCoreApplication::quit);
    // which quits the application after 5 seconds.

    // If you do not need a running Qt event loop, remove the call
    // to a.exec() or use the Non-Qt Plain C++ Application template.

    QString storePath;

    if (argc < 2){
        qDebug() << "arg must contains store path";
        return 0;
    } else {
        storePath = argv[1];
    }

    QSemaphore* semaphore = new QSemaphore();

    FileStoreThread* fileStoreThread = new FileStoreThread(semaphore, storePath);
    fileStoreThread->start();

    GenerateDataThread* generateThread = new GenerateDataThread(semaphore);
    generateThread->start();

    return a.exec();
}
